#ifndef DBPRESCRIPTION_H
#define DBPRESCRIPTION_H

#include <QObject>
#include <QSqlQuery>
#include <QDir>
#include <QDebug>
#include <QVariant>
#include "sqliteoperate.h"
#include <QDate>

#define medicineRecord "medicineRecord"
#define medicineList   "medicineList"

typedef struct _record{
	int id;
	QString name;
	int sum;
	QString unit;
	QDate date;
}record_t;

typedef struct _list{
	int id;
	QString name;
	int default_sum;
	QString unit;
}default_list_t;

class dbPrescription
{
public:
	dbPrescription();
	//创建表
	//创建表
	void createTable();
	//添加一图书
	void addMedicineRecord(const QString& name, const int sum,  QString unit, QDate date);
	void addMedicineRecord(int id, const QString& name, const int sum, QString unit, QDate dat);
	QList<record_t> getMedicineRecords(bool deital);
	QList<record_t> getMedicineRecordsByGroup(QString group, bool detial);
	QList<default_list_t> getMedicineLists();
	QList<default_list_t> getMedicineListByName(QString name);
	QStringList getMedicineListsNames();
	QStringList getUnitByName(QString name);
	int getDefaultSumByName(QString name);
	//根据id删除图书
	bool removeMedicineRecord(const int id);
	//根据id更新图书名
	void updateMedicineRecordSum(const QString& id, const int sum);
	//根据图书名找图书(模糊搜索)
	QStringList searchByMedicineRecord(const QString& name);

	//添加默认选项
	bool addMedicineList(const QString& name, const int default_sum, QString unit);
	//删除默认选项
	bool removeMedicineList(const int id);
	//更新默认选项
	void updateMedicineList(const QString& id, const int sum);
};

#endif // DBPRESCRIPTION_H
